package 题目集.贪心;

import java.util.Arrays;
import java.util.PriorityQueue;
import java.util.Scanner;

/**
 * https://www.luogu.com.cn/problem/P8769
 */
public class 巧克力 {
    /**
     * 第一次居然想着用dp去解。。。。
     * 正解，贪心
     * 从后枚举每个时间点下的巧克力，将所有未过期的巧克力入堆，每次取最小的（不能从前枚举）
     */
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        PriorityQueue<int[]> queue=new PriorityQueue<>(m,(a,b)->a[0]-b[0]);
        int[][] arr=new int[m][3];
        for (int i = 0; i < m; i++) {
            arr[i][0] = sc.nextInt();
            arr[i][1] = sc.nextInt();
            arr[i][2] = sc.nextInt();
        }
        Arrays.sort(arr, (a,b)->a[1]-b[1]);
        int last=m-1;
        long res=0;
        for (int i = n; i > 0; i--) {
            while (last>=0&&arr[last][1]>=i){
                queue.add(arr[last]);
                last--;
            }
            if (queue.isEmpty()){
                System.out.println(-1);
                return;
            }
            int[] cur = queue.poll();
            res+=cur[0];
            cur[2]--;
            if (cur[2]>0){
                queue.add(cur);
            }
        }
        System.out.println(res);
    }
}
